package com.cyk.comicforumjava.demos.utils;

import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyun.teaopenapi.models.Config;

import java.util.Random;

import static com.aliyun.teautil.Common.toJSONString;

public class AliyunSDK {
    public static Client createClient() throws Exception {
        Config config = new Config()
                // 配置 AccessKey ID，请确保代码运行环境配置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId("LTAI5tJy7rVcwSsidd5xASMM")
                // 配置 AccessKey Secret，请确保代码运行环境配置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret("Eu518nj7V6zIfT8MORWoSeAqrbIQ1C");
        // System.getenv()方法表示获取系统环境变量，不要直接在getenv()中填入AccessKey信息。

        // 配置 Endpoint。中国站请使用dysmsapi.aliyuncs.com
        config.endpoint = "dysmsapi.aliyuncs.com";



        return new Client(config);
    }
    public static String sendSMS(String number)throws Exception{
        Random random = new Random();
        // 生成 1000 到 9999 之间的随机数
        int randomNumber = random.nextInt(9000) + 1000;
        Client client = createClient();
        SendSmsRequest sendSmsRequest = new SendSmsRequest()
                .setPhoneNumbers(number)
                .setSignName("阿里云短信测试")
                .setTemplateCode("SMS_154950909")
                // TemplateParam为序列化后的JSON字符串。其中\"表示转义后的双引号。
                .setTemplateParam("{\"code\":\""+randomNumber+""+"\"}");
        // 获取响应对象
        SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);

        // 响应包含服务端响应的 body 和 headers
        System.out.println(toJSONString(sendSmsResponse));
        return randomNumber+"";
    }
}
